package 电影院;

import java.util.Scanner;
public class 经理 extends 售票{
    private String name;
    private String mima;
    private int USERID;
    private String date;
    private String liexing="前台";
    private String phonenumber;
    private static int m=1;


    public 经理() {

    }

    public 经理(String date, String phonenumber) {
        this.name ="manager";
        this.mima = "ynuinfo#777";
        this.USERID=m++;
        this.phonenumber=phonenumber;
        this.date=date;
    }
    public int 登录(String name, String mima){
        if (USERID==0){
            System.out.println("你已经不是该影院的员工，请退出");
            return 0;
        }
        if (this.name.equals(name)&&this.mima.equals(mima)){
            System.out.println("恭喜经理登陆成功，开启牛马的一天");
            if(this.mima.equals("123456")){
                System.out.println("请修改密码");
                Scanner sc=new Scanner(System.in);
                setjlMima(sc.nextLine());
            }
            return 1;
        }
        System.out.println("经理登陆失败，开启不了牛马的一天");
        return 0;
    }

    public void 重置前台密码(前台 a[]){
        System.out.println("请输入要重置的前台的用户名");
        Scanner sc = new Scanner(System.in);
        String name=sc.nextLine();
        for (int i = 0; i <a.length; i++) {
            if (a[i].getqtName().equals(name)) {
                a[i].setqtMima("123456");
                System.out.println("今天重置了前台" + a[i].getqtName() + "的密码，操作人" + this.name);
                return;
            }
        }
        System.out.println("未找到要重置的用户");
    }

      public void 查询上映(排片表 a[]){
          for (int i = 0; i <a.length; i++) {
              if (a[i].getIfshowon()==1){
                  System.out.println("片名："+a[i].getName());
                  System.out.println("导演："+a[i].getDaoyan());
                  System.out.println("主演："+a[i].getZhuyao());
                  System.out.println("剧情简介："+a[i].getJuqingjianjie());
                  System.out.println("时长："+a[i].getTime());
                  System.out.println("评分："+a[i].getScore());
              }
          }
      }
      public void 删除电影(排片表 a[]){
          System.out.println("删除后无法恢复请确认是否删除，1删除，2取消");
          Scanner sc = new Scanner(System.in);
          int n=sc.nextInt();
          if (n==2) return;
          System.out.println("请输入你要删除的电影名称");
          String name=sc.nextLine();
          经理 qx=new 经理();
          int i=qx.查询电影号(a,name);
          if (a[i].getIfshowon()==1) return;
          for (;i<a.length-1;i++)
              a[i]=a[i+1];
      }
      public int 查询电影(排片表 a[]){
          Scanner sc = new Scanner(System.in);
          System.out.println("请输入你要找的电影名称或电影导演或电影主演");
          String s=sc.nextLine();
          for (int i = 0; i <a.length; i++) {
              if (a[i].getName().equals(s)){
                  System.out.println("找到了");
                  return i;
              }
              if (a[i].getDaoyan().equals(s)){
                  System.out.println("找到了");
                  return i;
              }
              if (a[i].getZhuyao().equals(s)){
                  System.out.println("找到了");
                  return i;
              }
          }
          System.out.println("没找到相关电影");
         return -1;
      }
    public int 查询电影号(排片表 a[],String s){
        for (int i = 0; i <a.length; i++) {
            if (a[i].getName().equals(s)){
                return i;
            }
        }
        System.out.println("没找到相关电影");
        return -1;
    }
    public int[] 查询厅号及场次(放映厅 f[][],String s){
        int a[]=new int[2];
        a[0]=-1;
        a[0]=-1;
        for (int i = 0; i <f.length; i++) {
            for (int j = 0; j <f[i].length; j++) {
                if (f[i][j].getName().equals(s)){
                    a[0]=i;
                    a[1]=j;
                    return a;
                }
            }
        }
        System.out.println("没找到相关电影");
        return a;
    }


    public void 上映电影(排片表 a[],放映厅 f[][]){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你要上映哪一部电影");
        String name=sc.nextLine();
        System.out.println("请输入电影放映时间段");
        String during=sc.nextLine();
        经理 qx=new 经理();
        int i=qx.查询电影号(a,name);
        System.out.println("请输入你要上映到几号厅");
        int tinghao=sc.nextInt()-1;
        System.out.println("请输入你要上映到几场次");
        int changci=sc.nextInt()-1;
        System.out.println("请输入电影票价");
        int money=sc.nextInt();
      f[tinghao][changci].setName(a[i].getName());
      f[tinghao][changci].setDaoyan(a[i].getDaoyan());
       f[tinghao][changci].setZhuyao(a[i].getZhuyao());
       f[tinghao][changci].setJuqingjianjie(a[i].getJuqingjianjie());
       f[tinghao][changci].setTime(a[i].getTime());
        a[i].setIfshowon(1);
       f[tinghao][changci].setDuring(during);
      f[tinghao][changci].setMoney(money);
    }
      public void 修改上映(排片表 a[],放映厅 f[][]){
          Scanner sc = new Scanner(System.in);
          System.out.println("请输入原来电影的名称");
          String name1=sc.nextLine();
          经理 qx=new 经理();
          int i=qx.查询电影号(a,name1);
          System.out.println("请输入修改后的电影的名称");
          String name2=sc.nextLine();
          int[] b=qx.查询厅号及场次(f,name1);
          int n=qx.查询电影号(a,name2);
          if(f[b[0]][b[1]].getSum()!=f[b[0]][b[1]].getKong()){
              System.out.println("已售出不能修改");
          }
          f[b[0]][b[1]].setName(a[n].getName());
          f[b[0]][b[1]].setDaoyan(a[n].getDaoyan());
          f[b[0]][b[1]].setZhuyao(a[n].getZhuyao());
          f[b[0]][b[1]].setJuqingjianjie(a[n].getJuqingjianjie());
          f[b[0]][b[1]].setTime(a[n].getTime());
          a[n].setIfshowon(1);
          a[i].setIfshowon(0);
         System.out.println("放映厅"+f[b[0]][b[1]].getType()+"中的数据已修改");
      }
    public void 删除上映(排片表 list[],放映厅 f[][]){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除电影的名称");
        String name=sc.nextLine();
        经理 qx=new 经理();
        int i=qx.查询电影号(list,name);
        int b[]=qx.查询厅号及场次(f,name);
        if(f[b[0]][b[1]].getSum()!=f[b[0]][b[1]].getKong()){
            System.out.println("已售出不能删除");
        }
        list[i].setIfshowon(0);
        f[b[0]][b[1]].setName("");
        f[b[0]][b[1]].setDaoyan("");
        f[b[0]][b[1]].setZhuyao("");
        f[b[0]][b[1]].setJuqingjianjie("");
        f[b[0]][b[1]].setTime(0);
        System.out.println("放映厅"+f+"中的数据已删除");
    }
    public void 场次信息(放映厅 f[][]){
        for (int i = 0; i <f.length; i++) {
            for (int j = 0; j <f[i].length; j++) {
                System.out.println((i+1)+"号厅");
                System.out.println((j+1)+"场次");
                System.out.println("片名:"+f[i][j].getName());
            }
        }
    }

    public void 自动排片(排片表 a[],放映厅 f[][]){
        for (int i = 0; i <a.length; i++) {
            for (int j = 0; j <f.length; j++)
                for (int k = 0; k <f[j].length; k++) {
                    if (a[i].getIfshowon()==1||!(f[j][k].getName().isEmpty())) continue;
                    上映电影(a,f);
                }
        }
    }

    public void 查看销售额(放映厅 f[][]){
        for (int i = 0; i <f.length; i++) {
            for (int j = 0; j <f[i].length; j++) {
                System.out.println((i+1)+"号厅");
                System.out.println((j+1)+"场次");
                System.out.println("总销售票数:"+(f[i][j].getSum()-f[i][j].getKong()));
                System.out.println("单价:"+f[i][j].getMoney());
                System.out.println("总退票数:"+f[i][j].getTuipiao());
                System.out.println("总退票数金额:"+(f[i][j].getTuipiao()*f[i][j].getMoney()));
                System.out.println("总销售金额:"+((f[i][j].getSum()-f[i][j].getKong())*f[i][j].getMoney()));
            }
        }
    }

    public void 退出登录(){
        System.out.println("退出登录成功，工作结束，休息亿下吧");
    }

    public String getLiexing() {
        return liexing;
    }

    public void setLiexing(String liexing) {
        this.liexing = liexing;
    }


    public int getUSERID() {
        return USERID;
    }

    public void setUSERID(int USERID) {
        this.USERID = USERID;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }


    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }
    public String getjlName() {
        return name;
    }

    public void setjlName(String name) {
        this.name = name;
    }

    public String getjlMima() {
        return mima;
    }

    public void setjlMima(String mima) {
        this.mima = mima;
    }
}
